Computing devices, such as notebook computers, personal digital assistants, mobile communication devices, portable entertainment devices (e.g., handheld video game devices, multimedia players) may include user interface devices that facilitate interaction between a user and the computing device.
One type of user interface device that has become more common operates by way of capacitance sensing. A capacitance sensing system may include a touch screen, a touch-sensor pad, a touch-sensor slider, or touch-sensor buttons, and may include an array of one or more capacitive sensor elements (also referred to as sensor electrodes). Capacitive sensing typically involves measuring, through sensor signals (e.g., increases or decreases in electrode responses), a change in capacitance associated with the capacitive sensor elements to determine a presence of a conductive object (e.g., a user's finger or a stylus) relative to the capacitive sensor elements.
Changes in capacitance are measured across arrays of sensors when they are used for sensing and processing capacitive touch applications. Because the “changes” are measured, changing information (AC or delta information) is desired in order to detect variation in capacitance, while constant information (DC or signal offset) is not desired. The DC component is rejected.
A touch on a touch sensitive display typically spans multiple sensors to varying degrees. Various algorithms are used to identify the “location” of the touch based on the multiple sensor readings. Some algorithms identify a sensor whose capacitance change is a local maximum. Some techniques construct a centroid for the touch, and may use a local maximum to identify a small region for analysis (e.g., a 3×3 or 5×5 grid around the local maximum).
When a touch is towards the middle of the array, there are actual sensors (“AS”) around the identified local maximum. However, at or near the edge of the array, there are not actual sensors to fill out the local region. Some systems compute virtual sensor (“VS”) measurements to extend the array of actual sensors.
Known techniques of computing virtual sensors do not work well when the touch sensor array is non-rectangular. In particular, conventional centroid algorithms were designed for rectangular sensor patterns and do not fit circular sensor patterns, which are often used for wearable products.